package Test;

import java.util.InputMismatchException;
import java.util.Scanner;

public class Test3 {
    /*
    3. 逻辑题：判断素数
    题目：编写一个方法，接收一个正整数n，判断该数是否为素数（素数定义：大于1的自然数，除了1和自身外无其他因数）。
    主程序中输入一个数字，调用该方法并输出判断结果。
    示例：输入：7 → 输出：7是素数
    输入：10 → 输出：10不是素数      */
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个正整数：");
        try{
            if(!sc.hasNextInt()){//检查输入是否为整数
                System.out.println("输入错误，请输入一个整数，不能输入小数或者字符");
                return;
            }
            int n = sc.nextInt();
            if(n<=0){
                System.out.println("输入错误，请属于一个大于0的正整数");
                return;
            }
            boolean flag = prime(n);
            if(flag){
                System.out.println(n+"是一个素数");
            }else{
                System.out.println(n+"不是一个素数");
            }
        }catch (InputMismatchException e){
            System.out.println("输入错误，请输入一个有效整数");
        }
    }
    //定义一个方法
    public static boolean prime(int n){
        if(n<2){
            return false;
        }
        for (int i = 2; i < n-1; i++) {      //7
            if(n % i == 0){
              return false;       //不是素数，返回false
            }
        }
        return true;//是素数
    }
}
